<?php
namespace app\admin\controller\sys;

use app\admin\model\AdminRole;
use app\admin\service\sys\RoleService;
use app\common\controller\AdminBase;

/**
 * 角色组操作控制器
 * 列表 添加 修改 删除等
*/
class Role extends AdminBase{
    /**
     * 角色列表
     */
    public function role_list(){

        $parmas = reqDecode();//获取参数及解密

        $model = new AdminRole();

        $list = $model->withSearch($this->searchFields($parmas),$this->searchData($parmas))->field('id,name,des,state,rules')
            ->order('id','desc')
            ->paginate($parmas['limit'], false)->toArray();

        return suc('成功',$list);
    }

    /**
     * 角色添加
    */
    public function role_add(){
        $params = reqDecode();//获取参数及解密

        if(!empty($params) && !empty($params['name'])){
          $res =  RoleService::addAdminRole($params);
          return $res;
        }
       return suc('非法操作','',1);
    }

    /**
     * 角色权限添加/修改
     */
    public function role_auth_add(){
        $parmas = reqDecode();//获取参数及解密
        if(!empty($parmas) && !empty($parmas['id'])){
            $res =  RoleService::addAdminRoleRules($parmas);
            if($res){
                return suc('授权成功',$res);
            }
            return suc('角色禁用，不可操作','',1);
        }
        return suc('非法操作','',1);
    }

    /**
     * 角色组
     */
    public function role_arr(){

        $list = AdminRole::where('state',1)
//            ->where([['id','>',1]])
            ->order('id','ASC')
            ->column('id,name');
        return suc('成功',$list);
    }
}
